package cn.com.service.cs;

import java.util.List;
import java.util.Map;

import cn.com.commons.Paginator;
import cn.com.dal.dataobject.cs.CompanycostDO;
import cn.com.support.message.MessageResult;

/**
 * 公司成本Service
 * 
 * @since 2012-4-2 下午8:57:03
 * @version 1.0
 * @author Microbun
 * 
 */
public interface CompanycostService {

	/**
	 * 分页查询公司成本
	 * 
	 * @param paginator
	 * @return
	 */
	<C> Paginator<C, List<CompanycostDO>> selectByPage(
			Paginator<C, List<CompanycostDO>> paginator);

	/**
	 * 根据ID查询公司成本
	 * 
	 * @param id
	 * @return
	 */
	MessageResult<CompanycostDO> selectById(Long id);

	/**
	 * 插入公司成本
	 * 
	 * @param CompanycostDO
	 * @return
	 */
	MessageResult<Long> insert(CompanycostDO companycostDO);

	/**
	 * 更新公司成本
	 * 
	 * @param CompanycostDO
	 * @return
	 */
	MessageResult<Integer> updateById(CompanycostDO companycostDO);

	/**
	 * 根据ID删除公司成本
	 * 
	 * @param ids
	 *            公司成本ID数组
	 * @return
	 */
	MessageResult<Long> deleteById(Long[] ids);

	/**
	 * 根据条件查询公司成本
	 * 
	 * @param params
	 * @return
	 */
	List<CompanycostDO> selectList(Map<Object, Object> params);
	
	CompanycostDO selectTotalById(Long id);
}
